Over the past several years there has been, and continues to be, a tremendous amount of activity in the area of efficient encoding of speech. For an evolving digital telephone network, a most important application is the possible replacement of the 64,000 bit-per-second (b/s) PCM signal (8 bits per time slot, repeated at an 8 kHz rate) with other coding algorithms for telephony--both in the public switched and private line networks. The reason, of course, is to achieve bandwidth compression.
For a realistic mix of input speech and voiceband data, adaptive differential PCM appears to be a most promising approach. One form of adaptive differential PCM (ADPCM) coding is disclosed, for example, in copending application Ser. No. 343,355, filed Jan. 27, 1982 now U.S. Pat. No. 4,437,087 (D. W. Petr Case 1) and can be considered a benchmark since a single encoding with this ADPCM coder at 32 kb/s is near to being subjectively equivalent to 64 kb/s mu-255 PCM. To this end, an adaptive quantizer is employed for converting the digital PCM signals into the ADPCM signals and vice versa. See for example, the arrangement described in an article by P. Cummiskey, N. S. Jayant and J. L. Flanagan entitled "Adaptive Quantization in Differential PCM Coding of Speech", Bell System Technical Journal, Vol. 52, No. 7, September 1973, pp. 1105-1118.
In quantizing an input signal, the objective is to determine within which quantizer input interval the input signal sample falls and, then, generate a corresponding output interval signal sample and a quantized version of the input signal.
One technique for determining which quantizer input interval the input signal sample falls in compares the input signal sample to each quantizer input interval decision level starting from the largest decision level. When a decision level is found which is less in value than the input signal sample, the input signal sample is determined to fall in the interval bounded by that decision level and the next larger decision level. Then, the quantizer output sample is equal to the next larger decision level and the quantized version of the input signal sample is obtained by a table look-up. A problem with this technique is that a plurality of tests and a corresponding plurality of branches are required to generate the desired signal samples.
Another technique in use employs a so-called binary search to obtain the quantizer interval that the input signal sample falls in. Again, this technique requires a plurality of tests and a corresponding plurality of branches to obtain the desired signal samples.
In implementations that employ digital signal processors, (DSPs) or the like, such tests and branches are extremely undesirable because the DSPs are so-called pipeline processors and branching typically causes the pipeline to be broken. Once broken, the pipeline must be refilled with necessary data after the individual branching operations are completed before going on to the next operation to be performed. This filling of the processor pipeline is time consuming, thereby leading to inefficient use of the processor.